Below are examples of an Assess Request for the rulebase SimpleBenefits for both the generic and specific services. The SimpleBenefits rulebase can be found in examples\rulebases\SimpleBenefits.zip.
The Assess Request needs to be wrapped in a standard SOAP Envelope, which contains a header, and a body. Lines 1-3 are the starting of the SOAP request. The body and envelope are closed on lines 28 and 29.
When the soap element is begun the namespace for the elements used in all the Determinations Server requests is imported through the declaration "xmlns:typ="http://oracle.com/determinations/server/10.4/rulebase/assess/types"".
Lines 4-27 are the assess request and are all from the Determinations Server namespace. The assess request is doing the following:
Do not both set a value for an attribute and specify that attribute as an outcome in the same Assess Request. If you do this, any value set for the attribute in the Request will be ignored (in other words, only the "outcome-stlye" part of the Request will be processed for that attribute).
(The reason for this behavior is that the Response provided by the service is in the same format as the Request, to make it easier for for scenarios where you wish to call the Determinations Server repeatedly with partial data in order for it to provide you with information about what additional relevant information you need to collect).
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://oracle.com/determinations/server/10.4/rulebase/assess/types">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <typ:assess-request>
5 <typ:global-instance>
6 <typ:attribute id="eligible_low_income_allowance" outcome-style="value-only"/>
7 <typ:attribute id="eligible_teenage_allowance" outcome-style="value-only"/>
8 <typ:attribute id="claimant_income">
9 <typ:number-val>13000</typ:number-val>
10 </typ:attribute>
11 <typ:attribute id="claimant_public_housing_client">
12 <typ:boolean-val>true</typ:boolean-val>
13 </typ:attribute>
14 <typ:entity id="child">
15 <typ:instance id="child1">
16 <typ:attribute id="child_age">
17 <typ:number-val>16</typ:number-val>
18 </typ:attribute>
19 </typ:instance>
20 <typ:instance id="child2">
21 <typ:attribute id="child_age">
22 <typ:number-val>8</typ:number-val>
23 </typ:attribute>
24 </typ:instance>
25 </typ:entity>
26 </typ:global-instance>
27 </typ:assess-request>
28 </soapenv:Body>
29 </soapenv:Envelope>
The specific assess request for the same rulebase needs the same standard soap wrapper as the generic request above (lines 1-3, 28-29).
The namespace declaration on line 1 is for the specific service and named for (and specific to) the SimpleBenefits rulebase: "xmlns:typ="http://oracle.com/determinations/server/10.4/SimpleBenefits/assess/types"".
Lines 4-27 are the specific assess request and are all from the SimpleBenefits namespace. The assess request is setting and request exactly the same data as the generic assess request.
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://oracle.com/determinations/server/10.4/SimpleBenefits/assess/types">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <typ:assess-request>
5 <typ:global-instance>
6 <typ:eligible_low_income_allowance outcome-style="value-only"/>
7 <typ:eligible_teenage_allowance outcome-style="value-only"/>
8 <typ:claimant_income>
9 <typ:number-val>13000</typ:number-val>
10 </typ:claimant_income>
11 <typ:claimant_public_housing_client>
12 <typ:boolean-val>true</typ:boolean-val>
13 </typ:claimant_public_housing_client>
14 <typ:list-child>
15 <typ:child id="child1">
16 <typ:child_age>
17 <typ:number-val>16</typ:number-val>
18 </typ:child_age>
19 </typ:child>
20 <typ:child id="child2">
21 <typ:child_age>
22 <typ:number-val>8</typ:number-val>
23 </typ:child_age>
24 </typ:child>
25 </typ:list-child>
26 </typ:global-instance>
27 </typ:assess-request>
28 </soapenv:Body>
29 </soapenv:Envelope>
It is recommended you limit your Assess Request to the bare minimum of elements to return what you require. In particular: